﻿using System;
using System.Collections.Generic;

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using WLMCoreLibrary;
using MiWebSite_Core;
using System.Xml;

namespace MWS_AddDirectory
{
    public partial class AddDetail : System.Web.UI.Page
    {
        WebSiteMainConfiguration config = WebSiteMainConfiguration.GetConfig();
        dbConnector ConexionDB;
        protected void Page_Load(object sender, EventArgs e)
        {

            if (Request.QueryString["xml"] != null)
            {
                GetPageXML();
            }
            else
                TransformXML(GeneratePage());

        }

        private MiWebSitePage GeneratePage()
        {
            ConexionDB = new dbConnector(config.Connections[0].value);
            MiWebSitePage pagina = new MiWebSitePage();
            try
            {
                pagina = new MiWebSitePage(ref ConexionDB);
                pagina.Title = "Directorio de " + DeCurrentDomain.Ciudad;
                pagina.DomainName = DeCurrentDomain.DomainName;
                pagina.DomainID = DeCurrentDomain.IdentificadorDominio;
                
                int idAnuncio = Convert.ToInt32(WLMFunctions.CleanQuery(Request["id"]));
                Anuncio anuncio = new Anuncio(idAnuncio, true, ref ConexionDB);
                AnuncioCollection relacionados = new AnuncioCollection(anuncio.ListaCategoriasPlano.Replace(",", "") + " " + anuncio.ListaTagsPlano.Replace(",", ""), 9, ref ConexionDB);

                if (Request["Titulo"] != null)
                {
                    string tituloAnuncio = Request["titulo"];
                    if (tituloAnuncio[tituloAnuncio.Length - 1] == '/')
                        tituloAnuncio = tituloAnuncio.Substring(0, tituloAnuncio.Length - 1);
                    if (anuncio.URL == tituloAnuncio)
                    {
                        pagina.Title = anuncio.nombre + " - " + pagina.Title;
                        anuncio.Relacionados = relacionados.Anuncios;
                        //anuncio.descripcionMini = anuncio.descripcionMini.Replace("<br/>","\n");
                        pagina.Keywords += anuncio.ListaTagsPlano;
                        anuncio.mostrados++;
                        anuncio.Save();
                        anuncio.descripcionMini = anuncio.descripcionMini.Replace("\n", "<br/>");
                        pagina.Contenido = WLMFunctions.SerializeObject(anuncio);
                        //pagina.Contenido.AppendChild();

                    }
                }                
            }
            catch (Exception ex)
            {

            }
            ConexionDB.CloseConnection();
            return pagina;
        }

        private void TransformXML(MiWebSitePage pagina)
        {
            
            string HTMLPagina = WLMFunctions.TransformXML(pagina, config.Settings["siteURL"].value + config.Settings["skinPath"].value + "index.xsl", FuncionesDirectorio.GetTransformationParameters());
            Response.Write(HTMLPagina);
            Response.End();
        }

        private void GetPageXML()
        {
            Response.Clear();
            Response.ContentType = "text/xml";
            Response.HeaderEncoding =System.Text.Encoding.UTF8;
            string xmlportada = WLMFunctions.SerializeObject(GeneratePage(), true);
            Response.Write(xmlportada);
            Response.End();


        }


       
    }
}